package org.wdcode.web.memcache.need;

/**
 * MemCached使用必须的条件获得基础实现
 * @author WD
 * @since JDK6
 * @version 1.0 2010-08-29
 */
public class BaseMemCacheNeed implements MemCacheNeed {
	// 服务器地址
	private String[]	servers;
	// 权重列表
	private Integer[]	weights;
	// 初始化连接
	private int			initConn;
	// 最小连接
	private int			minConn;
	// 最大连接
	private int			maxConn;
	// 空闲时间
	private long		maxIdle;
	// 睡眠时间
	private long		maintSleep;
	// 超时读取
	private int			socketTO;
	// 连接超时
	private int			socketConnectTO;

	/**
	 * 获得服务器地址
	 * @return 服务器地址
	 */
	public final String[] getServers() {
		return servers;
	}

	/**
	 * 设置服务器地址
	 * @param servers 服务器地址
	 */
	public final void setServers(String... servers) {
		this.servers = servers;
	}

	/**
	 * 获得权重列表
	 * @return 权重列表
	 */
	public final Integer[] getWeights() {
		return weights;
	}

	/**
	 * 设置权重列表
	 * @param weights 权重列表
	 */
	public final void setWeights(Integer... weights) {
		this.weights = weights;
	}

	/**
	 * 获得初始化连接
	 * @return 初始化连接
	 */
	public final int getInitConn() {
		return initConn;
	}

	/**
	 * 设置初始化连接
	 * @param initConn 初始化连接
	 */
	public final void setInitConn(int initConn) {
		this.initConn = initConn;
	}

	/**
	 * 获得最小连接
	 * @return 最小连接
	 */
	public final int getMinConn() {
		return minConn;
	}

	/**
	 * 设置最小连接
	 * @param minConn 最小连接
	 */
	public final void setMinConn(int minConn) {
		this.minConn = minConn;
	}

	/**
	 * 获得最大连接
	 * @return 最大连接
	 */
	public final int getMaxConn() {
		return maxConn;
	}

	/**
	 * 设置最大连接
	 * @param maxConn 最大连接
	 */
	public final void setMaxConn(int maxConn) {
		this.maxConn = maxConn;
	}

	/**
	 * 获得空闲时间
	 * @return 空闲时间
	 */
	public final long getMaxIdle() {
		return maxIdle;
	}

	/**
	 * 设置空闲时间
	 * @param maxIdle 空闲时间
	 */
	public final void setMaxIdle(long maxIdle) {
		this.maxIdle = maxIdle;
	}

	/**
	 * 获得睡眠时间
	 * @return 睡眠时间
	 */
	public final long getMaintSleep() {
		return maintSleep;
	}

	/**
	 * 设置睡眠时间
	 * @param maintSleep 睡眠时间
	 */
	public final void setMaintSleep(long maintSleep) {
		this.maintSleep = maintSleep;
	}

	/**
	 * 获得超时读取
	 * @return 超时读取
	 */
	public final int getSocketTO() {
		return socketTO;
	}

	/**
	 * 设置超时读取
	 * @param socketTO 超时读取
	 */
	public final void setSocketTO(int socketTO) {
		this.socketTO = socketTO;
	}

	/**
	 * 获得连接超时
	 * @return 连接超时
	 */
	public final int getSocketConnectTO() {
		return socketConnectTO;
	}

	/**
	 * 设置连接超时
	 * @param socketConnectTO 连接超时
	 */
	public final void setSocketConnectTO(int socketConnectTO) {
		this.socketConnectTO = socketConnectTO;
	}
}
